package com.base.dynamicprograming;

/**
 * 122. 买卖股票的最佳时机 II
 * 给定一个数组 prices ，其中 prices[i] 是一支给定股票第 i 天的价格。
 *
 * 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易（多次买卖一支股票）。
 *
 * 注意：你不能同时参与多笔交易（你必须在再次购买前出售掉之前的股票）。
 *
 *  
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * @author leon
 * @date 2021年12月03日 21:18
 */
public class MaxProfit2 {

    public int maxProfit(int[] prices) {
        int price= 0;
        int left= -1,right = 0;
        for (; right < prices.length-1; right++) {
            if(prices[right]>prices[right+1]){
                if(left<0){
                    left = right+1;
                    continue;
                }
                price+=(prices[right]-prices[left]);
                left = right+1;

            }
        }

        price+=(prices[right+1]-prices[left]);
        return price;

    }
}
